#ifndef BOUNCE_PATH_H_
#define BOUNCE_PATH_H_

// INCLUDES //
#include "path.h"
//////////////

/**
* A path that bounces when it hits something.
* 
* @author dfoelber
**/
class BouncePath : public Path
{
public:
	/**
	* Default constructor.
	**/
	BouncePath();
	
	/**
	* Lets the path know that time has passed and to move accordingly.
	* 
	* Overridden from Path.
	* 
	* @param ms The time passed since last called
	**/
	virtual void TimePassed( int ms );
	
	/**
	* Input that can be used by the path.
	* 
	* Overridden from Path.
	* 
	* @param event The event
	* @return If the event was consumed
	**/
	virtual bool Input( SDL_Event event );
	
	/**
	* Check if this path collided with another path.
	* 
	* Overridden from Path.
	* 
	* @param other The other path's area.
	* @param xDistance The other path's X distance.
	* @param yDistance The other path's Y distance. 
	* 
	* @return If collided
	**/
	virtual bool CheckCollision( Area* other, double xDistance, double yDistance );
};

#endif /*BOUNCE_PATH_H_*/
